home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGASIC
/
BASFILES.LZH
/
QUICKSTL.BAS
< prev
next >
Wrap
BASIC Source File
|
1988-09-10
|
698b
|
42 lines
'$INCLUDE:'QBTOOLS.INC'
'' '$INCLUDE: 'qbtools2.inc'
DEFDBL V
SUB QuickSortLng (fl&(), Elements%) STATIC
DIM stack%(30, 2)
s% = 1
stack%(1, 1) = 1
stack%(1, 2) = Elements%
WHILE s% <> 0
l% = stack%(s%, 1)
r% = stack%(s%, 2)
s% = s% - 1
WHILE l% < r%
i% = l%
j% = r%
x& = fl&((l% + r%) / 2)
WHILE j% >= i%
WHILE fl&(i%) < x&
i% = i% + 1
WEND
WHILE x& < fl&(j%)
j% = j% - 1
WEND
IF i% <= j% THEN
SWAP fl&(j%), fl&(i%)
i% = i% + 1
j% = j% - 1
END IF
WEND
IF i% < r% THEN
s% = s% + 1
stack%(s%, 1) = i%
stack%(s%, 2) = r%
END IF
r% = j%
WEND
WEND
END SUB